package com.apinji.wxpay.common;

import com.apinji.common.plugin.StrUtils;

/**
 * Created by 轩辕夏夏 on 2017/7/3.
 */
public enum WxPayReturnErrorEnum {
    /**
     * 商户无此接口权限
     */
    NOAUTH("商户无此接口权限"),

    /**
     * 余额不足
     */
    NOTENOUGH("余额不足"),

    /**
     * 商户订单已支付
     */
    ORDERPAID("商户订单已支付"),

    /**
     * 订单已关闭
     */
    ORDERCLOSED("订单已关闭"),

    /**
     * 系统错误
     */
    SYSTEMERROR("系统错误"),

    /**
     * APPID不存在
     */
    APPID_NOT_EXIST("APPID不存在"),
    /**
     * MCHID不存在
     */
    MCHID_NOT_EXIST("MCHID不存在"),

    /**
     * appid和mch_id不匹配
     */
    APPID_MCHID_NOT_MATCH("appid和mch_id不匹配"),

    /**
     * 	缺少参数
     */
    LACK_PARAMS("缺少参数"),

    /**
     * 商户订单号重复
     */
    OUT_TRADE_NO_USED("商户订单号重复"),

    /**
     * 签名错误
     */
    SIGNERROR("签名错误"),

    /**
     * XML格式错误
     */
    XML_FORMAT_ERROR("XML格式错误"),

    /**
     * 请使用post方法
     */
    REQUIRE_POST_METHOD("请使用post方法"),

    /**
     *post数据为空
     */
    POST_DATA_EMPTY("post数据为空"),

    /**
     *编码格式错误
     */
    NOT_UTF8("编码格式错误")

    ;

    private String message;

    WxPayReturnErrorEnum(String message){
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    /**
     * 根据错误码，获得错误信息
     * @param errCode
     * @return
     */
    public static String getMsg(String errCode){
        if(StrUtils.isEmpty(errCode)) {
            return "";
        }
        for(int i = 0; i < WxPayReturnErrorEnum.values().length; i++) {
            if (WxPayReturnErrorEnum.values()[i].name().equals(errCode)) {
                return WxPayReturnErrorEnum.values()[i].getMessage();
            }
        }
        return "Error code not found : " + errCode;
    }
}
